package model;
import tools.*;
//passenger_order.txt文件中储存了每一个身份证号码所对应的姓名以及订单号，每一行都代表一个独特的身份证号码
//例如：360124200102040017 YiqingWu 1326854870743 1326854870744
public class passenger_order {

    public static String findOrder_line(String content){
        lineReader lr = new lineReader();
        String order_line=lr.readLine("resource/passenger_order.txt",content);
        return order_line;
    }

    //findSurname函数可查看该身份证号码主人的姓氏，括号中参数添加“身份证号码”,会返回“姓氏”
    public static String findSurname(String content) {
        String temp=findOrder_line(content);
        String[] sp =temp.split("\\s+");
        String surname = sp[2];
        return surname;
    }
    //findName函数可查看该身份证号码主人的姓名，括号中参数添加“订单号”,会返回“姓名”
    public static String findName(String content) {
        String temp=findOrder_line(content);
        String[] sp =temp.split("\\s+");
        String name = sp[1]+" "+sp[2];
        return name;
    }


    //isSurname方法能够判断输入的姓氏是否属于该身份证号码 ，括号中参数为想要判断的“身份证号码”和“姓氏”，如果身份证与姓氏匹配则返回int类型的数值1，否则返回0
    public  static int isSurname(String idNum,String name){
        int judgement = 0;
        String surname=findSurname(idNum);
        String[] sp = surname.split("\\s+");
        int i=0;
        while(i<sp.length){
            if(sp[i].equals(name)){
                judgement=1;
                break;
            }
            i=i+1;
        }
        return judgement;
    }

    //由于一个身份证下可能有多个航班订单，因此可使用orderNum函数查看该身份证下共有多少个订单号码，括号中参数添加“身份证号码”,会返回int类型的数字（订单数量）
    public static int orderNum(String content){
        String temp=findOrder_line(content);
        String[] sp = temp.split("\\s+");
        int num = sp.length-3;
        return num;
    }

    //findOrder函数可以根据“身份证号码”查找该身份证下所有的“订单号”，括号中参数添加“身份证号码”以及“订单的序号（1代表第一个订单，2代表第二个订单，以此类推）”
    //该函数会返回你所选择的订单号码（类型为String）
    public static String findOrder(String content,int num) {
        String temp=findOrder_line(content);
        String[] sp =temp.split("\\s+");
        String order_number = sp[num+2];
        return order_number;
    }

    //find_id_num函数可以根据“订单号”查找该订单号所属的“身份证号码”，括号中参数添加“订单号”
    //该函数会返回你所选择的订单号码（类型为String）
    public static String find_id_num(String content) {
        String temp=findOrder_line(content);
        String[] sp =temp.split("\\s+");
        String id_number = sp[0];
        return id_number;
    }

}
